// 存在重复元素------217
//给你一个整数数组 nums 。如果任一值在数组中出现 至少两次 ，返回 true ；如果数组中每个元素互不相同，返回 false 。

#include <stdio.h>
#include <stdbool.h>

void FastSort(int *a,int start,int end)
{
    int temp = a[start];
    int left = start;
    int right = end;

    while(left < right)
    {
        while(left < right && a[right] > temp)
        right--;
        a[left] = a[right];
        while(left < right && a[left] < temp)
        left++;
        a[right] = a[left];
    }
    a[left] = temp;
    if(left < right)
    {
        int temp = left;
        FastSort(a,start,temp -1);
        FastSort(a,temp+1,end);
    }
}

bool containsDuplicate(int* nums, int numsSize) 
{
    FastSort(nums,0,numsSize-1);
    for(int i = 1; i < numsSize; i++)
    {
        if(nums[i] == nums[i-1])
        return true;      
    } 
    return false;
}